Soru & Cevap

Urlden çekme

21.07.2016 - 12:16

Merhaba arkadaşlar 

Url'den resim çekip R.drawable.. içerisine atmak istiyorum.Daha sonra kullanırken R.drawable içerisinden çağırmam gerekiyor.Yardımcı olabilir misiniz ?

5 Görüntülenme

1 Cevap

Sitedeki sorulara cevap verebilmek için giriş yapın ya da üye olun.

picture-50236-1468221598.jpg
emreboyraz386
21.07.2016 - 01:41

Merhaba Enes ;
 Öncelikle url'den image alıp "R.drawable a atma" gibi birşey söz konusu değildir . Çünkü uygulamayı cihaza yüklüyorsun. Ancak url ' den çekmiş olduğun bir fotoğrafı Jsoup kullanarak istediğin yere set edebilirsin uygulamada. Örnek bir kodu aşağıda paylaşıyorum umarım işine yarar

 1- build.gradle içersinde dependencies' in içine aşağıdaki satırı eklemelisin

compile 'org.jsoup:jsoup:1.7.3'

      
2- Aşağıdaki kod urlden nasıl image çekildiğini ,nasıl set edildiğini göstermektedir

 

public class MainActivity extends Activity {

    private Button titleButton;
    RelativeLayout logo_layout;
    private ProgressDialog progressDialog;
    private static String URL = "http://emreboyraz.co/";
    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
        titleButton = (Button)findViewById(R.id.buttonTitle);
        titleButton.setOnClickListener(new View.OnClickListener() {
            @Override
            public void onClick(View v) {

                new FetchTitle().execute();
            }
        });
    }
    private class FetchTitle extends AsyncTask<Void, Void, Void> {
        Bitmap bitmap;
        @Override
        protected void onPreExecute() {
            super.onPreExecute();

            progressDialog = new ProgressDialog(MainActivity.this);
            progressDialog.setTitle("fotoğraf");
            progressDialog.setMessage("Fotoğraf Çekiliyor...");
            progressDialog.setIndeterminate(false);
            progressDialog.show();
        }

        @Override
        protected Void doInBackground(Void... params) {

            try{
                Elements elements;
                Document doc  = Jsoup.connect(URL).get();    // Web siteye bağlantı
                //Fetch
                elements = doc.select("div[class=front face]");
                String imgSrc = elements.select("img[src]").attr("src");
                InputStream input = new java.net.URL(URL+"/"+imgSrc).openStream();
                bitmap = BitmapFactory.decodeStream(input);
            }catch (Exception e){
                e.printStackTrace();
            }
            return null;
        }

        @TargetApi(Build.VERSION_CODES.JELLY_BEAN)
        @Override
        protected void onPostExecute(Void aVoid) {
            //set
            logo_layout = (RelativeLayout)findViewById(R.id.logo_layout);
            ImageView img_logo = (ImageView)findViewById(R.id.img_logo);
            img_logo.setImageBitmap(bitmap);
            progressDialog.dismiss();
        }
    }

}